The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section. Further, nothing in this patent document is admitted to be prior art by the applicant(s).
Discovering network nodes representing the endpoints of a network communication path is a basic issue in setting up a communication channel. In most cases, the endpoint is either known in advance, or some identifier is known and then used to discover the other information about the endpoint. For example, DNS lookup can be used, if the name of an available DNS server is previously configured in a device. Alternatively, Service Location Protocol (SLP), as defined in IETF RFC 2165 and RFC2608 can be used to locate an address of the endpoint.
Past approaches have included various methods of service detection and endpoint detection, generally based on manual deployment or provisioning and available networking standards. For networking devices from Cisco Systems, Inc., San Jose, Calif., and certain compatible devices, the Cisco Discovery Protocol (CDP) can be used to discovery Cisco devices that are on the same link as the discovering device—that is, one hop away—and their characteristics. Typically, a network administrator configures an endpoint or client with information about an available server, or some form of server load balancing is deployed to achieve transparency with respect to the location of the server.
However, manual provisioning is a deployment challenge, since all the nodes typically have to be re-configured when a new server or server pool is introduced to the network. In situations where server transparency is not feasible—for example, because the additional node cannot be hidden behind a load-balancing device—the manual provisioning approach is a deployment nightmare.
Further, when the nodes are network devices such as switches or routers, discovering what services are available at the nodes, and the capabilities of the nodes, is more challenging compared to locating clients, servers or other endpoints. In this context, there is a need for some method or mechanism providing automatic service and node capability discovery. It would be useful to have an approach in which manual provisioning is limited to a single new node that is deployed in the network. There is a need for an approach that allows all other nodes to learn about the new node, and that allows the new node to learn about the existing nodes in the network.